home *** CD-ROM | disk | FTP | other *** search
- (define (scambia-all lis x y)
- (define pila (make-pila))
- (define l lis)
- (do ()
- ((and (null? l) (empty-pila? pila)) lis)
- (cond ((null? l)
- (set! l (top pila))
- (pop pila))
- ((pair? (car l))
- (push (cdr l) pila)
- (set! l (car l)))
- ((eq? x (car l))
- (set-car! l y)
- (set! l (cdr l)))
- ((eq? y (car l))
- (set-car! l x)
- (set! l (cdr l)))
- (else (set! l (cdr l))))))
-